nominal subtyping